(0) Obligation:

JBC Problem based on JBC Program:
No human-readable program information known.

Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: MirrorTree

(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Graph of 856 nodes with 2 SCCs.

(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph to ITRS rules

(4) Complex Obligation (AND)

(5) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load23205(java.lang.Object(Tree(o34690, o34691, o34692))) → Load23205(o34690)
The set Q consists of the following terms:
Load23205(java.lang.Object(Tree(x0, x1, x2)))

(6) ITRStoQTRSProof (EQUIVALENT transformation)

Represented integers and predefined function symbols by Terms

(7) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

Load23205(java.lang.Object(Tree(o34690, o34691, o34692))) → Load23205(o34690)

The set Q consists of the following terms:

Load23205(java.lang.Object(Tree(x0, x1, x2)))

(8) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

POL(Load23205(x1)) = x1   
POL(Tree(x1, x2, x3)) = x1 + x2 + x3   
POL(java.lang.Object(x1)) = 1 + x1   
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

Load23205(java.lang.Object(Tree(o34690, o34691, o34692))) → Load23205(o34690)


(9) Obligation:

Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:

Load23205(java.lang.Object(Tree(x0, x1, x2)))

(10) RisEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(11) TRUE

(12) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o37609, o37610, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(o37609, o37610, o37611)))), i4190) → Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o37609, o37610, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(o37609, o37610, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR1(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → New25279(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(NULL, NULL, o37611)), o34683, i4190, NULL, NULL)
Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190 + -1)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190) → Cond_Load23140(i4190 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190 + -1)
New25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, o34666, o34683, i4190, NULL, NULL) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, o34666, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o37604, o37605, o37606)))), i4190) → Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o37604, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR2(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38693, o38694, o38695)))), i4190) → Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38693, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR3(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38708, o38709, o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38708, o38709, o38710)))), i4190) → Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38708, o38709, o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38708, o38709, o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR4(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(java.lang.Object(List(o34683, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38755, o38756, o38757)))), i4190) → Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38755, o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR5(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38770, o38771, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38770, o38771, o38772)))), i4190) → Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38770, o38771, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38770, o38771, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR6(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o39999, o40000, o40001)))), i4190) → Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o39999, o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR7(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o40020, o40021, o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(o40020, o40021, o40022)))), i4190) → Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o40020, o40021, o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(o40020, o40021, o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR8(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
The set Q consists of the following terms:
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(0, x9, x10, x11)))
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(0, x9, x10, x11)))
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, NULL)), x5)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, NULL)), x5)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, NULL, NULL)
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(x5, x6, x7)))), x8)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(0, x12, x13, x14)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(0, x12, x13, x14)))
Load23140ARR4(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(0, x10, x11, x12)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(0, x10, x11, x12)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Load23140ARR6(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(x9, x10, x11, x12)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(x9, x10, x11, x12)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(x12, x13, x14, x15)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(x12, x13, x14, x15)))
Load23140ARR8(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(x10, x11, x12, x13)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(x10, x11, x12, x13)))

(13) GroundTermsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they always contain the same ground term.
We removed the following ground terms:
  • NULL

We removed arguments according to the following replacements:

New25279(x1, x2, x3, x4, x5, x6, x7) → New25279(x1, x2, x3, x4, x5)

(14) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o37609, o37610, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(o37609, o37610, o37611)))), i4190) → Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o37609, o37610, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(o37609, o37610, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR1(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, NULL, o37611)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, o37611)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → New25279(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(NULL, NULL, o37611)), o34683, i4190)
Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190 + -1)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190) → Cond_Load23140(i4190 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, NULL)), i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, o34683, i4190 + -1)
New25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, o34666, o34683, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, o34666, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o37604, o37605, o37606)))), i4190) → Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o37604, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR2(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o37605, o37606)))), i4190, java.lang.Object(java.lang.String(0, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38693, o38694, o38695)))), i4190) → Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38693, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR3(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, o38694, o38695)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38708, o38709, o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38708, o38709, o38710)))), i4190) → Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38708, o38709, o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38708, o38709, o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Cond_Load23140ARR4(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)))), i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)), java.lang.Object(java.lang.String(0, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), o38710)), java.lang.Object(List(java.lang.Object(List(o34683, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38755, o38756, o38757)))), i4190) → Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o38755, o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR5(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o38756, o38757)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38770, o38771, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38770, o38771, o38772)))), i4190) → Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o38770, o38771, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(o38770, o38771, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR6(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)))), i4190, java.lang.Object(java.lang.String(0, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, o38772)), java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), NULL)), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o39999, o40000, o40001)))), i4190) → Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(o39999, o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR7(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, o34666, java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), o40000, o40001)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, o34666new, java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o40020, o40021, o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(o40020, o40021, o40022)))), i4190) → Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(o40020, o40021, o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(o40020, o40021, o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR8(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(o34683, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)))), i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), o40022)), java.lang.Object(List(java.lang.Object(List(o34683, java.lang.Object(Tree(NULL, NULL, NULL)))), java.lang.Object(Tree(NULL, NULL, NULL)))), i4190)
The set Q consists of the following terms:
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(0, x9, x10, x11)))
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(0, x9, x10, x11)))
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, NULL)), x5)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, NULL)), x5)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(x5, x6, x7)))), x8)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(0, x12, x13, x14)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(NULL, x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(0, x12, x13, x14)))
Load23140ARR4(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(0, x10, x11, x12)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(NULL, java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(0, x10, x11, x12)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(0, x8, x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Load23140ARR6(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(x9, x10, x11, x12)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), NULL, x3)))), x5, java.lang.Object(java.lang.String(0, x6, x7, x8)), java.lang.Object(java.lang.String(x9, x10, x11, x12)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(x12, x13, x14, x15)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), x5, x6)))), x7, java.lang.Object(java.lang.String(x8, x9, x10, x11)), java.lang.Object(java.lang.String(x12, x13, x14, x15)))
Load23140ARR8(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(x10, x11, x12, x13)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)), java.lang.Object(List(x4, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, NULL)), java.lang.Object(Tree(NULL, NULL, NULL)), x3)))), x5, java.lang.Object(java.lang.String(x6, x7, x8, x9)), java.lang.Object(java.lang.String(x10, x11, x12, x13)))

(15) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load23140(x1, x2, x3, x4, x5) → Load23140(x1, x2, x5)
Tree(x1, x2, x3) → Tree
List(x1, x2) → List
Load23140ARR1(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR1(x1, x2, x5)
Cond_Load23140ARR1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR1(x1, x2, x3, x6)
New25279(x1, x2, x3, x4, x5) → New25279(x1, x2, x5)
Inc23255(x1, x2, x3, x4, x5) → Inc23255(x1, x2, x5)
Cond_Load23140(x1, x2, x3, x4, x5, x6) → Cond_Load23140(x1, x2, x3, x6)
Load23140ARR2(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR2(x1, x2, x5)
Cond_Load23140ARR2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR2(x1, x2, x3, x6)
Load23140ARR3(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR3(x1, x2, x5, x6)
Cond_Load23140ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR3(x1, x2, x3, x6, x7)
Load23140ARR4(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR4(x1, x2, x5, x6)
Cond_Load23140ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR4(x1, x2, x3, x6, x7)
Load23140ARR5(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR5(x1, x2, x5, x7)
Cond_Load23140ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR5(x1, x2, x3, x6, x8)
Load23140ARR6(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR6(x1, x2, x5, x7)
Cond_Load23140ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR6(x1, x2, x3, x6, x8)
Load23140ARR7(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR7(x1, x2, x5, x6, x7)
Cond_Load23140ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR7(x1, x2, x3, x6, x7, x8)
Load23140ARR8(x1, x2, x3, x4, x5, x6, x7) → Load23140ARR8(x1, x2, x5, x6, x7)
Cond_Load23140ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23140ARR8(x1, x2, x3, x6, x7, x8)

(16) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR1(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → New25279(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140(i4190 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
New25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR2(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Cond_Load23140ARR3(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Load23140ARR4(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Cond_Load23140ARR4(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR5(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR6(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR6(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR7(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR8(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR8(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load23140ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(17) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load23140ARR3, Load23140ARR4
> Load23140ARR3_4

Cond_Load23140ARR3, Cond_Load23140ARR4
> Cond_Load23140ARR3_5

Load23140ARR5, Load23140ARR6
> Load23140ARR5_4

Cond_Load23140ARR5, Cond_Load23140ARR6
> Cond_Load23140ARR5_5

Load23140ARR7, Load23140ARR8
> Load23140ARR7_5

Cond_Load23140ARR7, Cond_Load23140ARR8
> Cond_Load23140ARR7_6

(18) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR1(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → New25279(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140(i4190 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
New25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR2(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Cond_Load23140ARR3(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR5(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR7(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(19) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(20) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR1(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → New25279(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140(i4190 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190 + -1)
New25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Load23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Cond_Load23140ARR2(i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Load23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Cond_Load23140ARR3(i4836 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR5(i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)
Load23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Load23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Cond_Load23140ARR7(i5213 > 0 && i4188 + 1 > 0 && i4188 + 1 < i2 && i4327 > 0 && i4188 > 0 && i4188 < i2 && i4190 > 0 && i4188 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → Inc23255(java.lang.Object(ARRAY(i2, a34307data)), i4188 + 1 + 1, i4190)

The integer pair graph contains the following rules and edges:
(0): LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])
(1): LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
(2): COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2] + 1 + 1, i4190[2])
(3): INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3] + -1)
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)
(6): NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
(7): LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])
(8): LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])
(9): COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9] + 1 + 1, i4190[9])
(10): LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))
(11): LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
(12): COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12] + 1 + 1, i4190[12])
(13): LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
(14): LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))
(15): COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15] + 1 + 1, i4190[15])
(16): LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))
(17): LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))
(18): COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18] + 1 + 1, i4190[18])

(0) -> (1), if ((i4190[0]* i4190[1])∧(i4188[0]* i4188[1])∧(java.lang.Object(ARRAY(i2[0], a34307data[0])) →* java.lang.Object(ARRAY(i2[1], a34307data[1]))))


(1) -> (2), if ((i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[1], a34307data[1])) →* java.lang.Object(ARRAY(i2[2], a34307data[2])))∧(i4190[1]* i4190[2])∧(i4188[1]* i4188[2]))


(2) -> (6), if ((java.lang.Object(ARRAY(i2[2], a34307data[2])) →* java.lang.Object(ARRAY(i2[6], a34307data[6])))∧(i4188[2] + 1 + 1* i4570[6])∧(i4190[2]* i4190[6]))


(3) -> (0), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[0], a34307data[0])))∧(i4190[3] + -1* i4190[0])∧(i4188[3]* i4188[0]))


(3) -> (4), if ((i4190[3] + -1* i4190[4])∧(java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[4], a34307data[4])))∧(i4188[3]* i4188[4]))


(3) -> (7), if ((i4188[3]* i4188[7])∧(i4190[3] + -1* i4190[7])∧(java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[7], a34307data[7]))))


(3) -> (10), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[10], a34307data[10])))∧(i4190[3] + -1* i4190[10])∧(i4188[3]* i4188[10]))


(3) -> (13), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[13], a34307data[13])))∧(i4190[3] + -1* i4190[13])∧(i4188[3]* i4188[13]))


(3) -> (16), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[16], a34307data[16])))∧(i4190[3] + -1* i4190[16])∧(i4188[3]* i4188[16]))


(4) -> (5), if ((i4188[4]* i4188[5])∧(i4190[4] > 0* TRUE)∧(i4190[4]* i4190[5])∧(java.lang.Object(ARRAY(i2[4], a34307data[4])) →* java.lang.Object(ARRAY(i2[5], a34307data[5]))))


(5) -> (0), if ((i4188[5]* i4188[0])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[0], a34307data[0])))∧(i4190[5] + -1* i4190[0]))


(5) -> (4), if ((i4188[5]* i4188[4])∧(i4190[5] + -1* i4190[4])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[4], a34307data[4]))))


(5) -> (7), if ((i4188[5]* i4188[7])∧(i4190[5] + -1* i4190[7])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[7], a34307data[7]))))


(5) -> (10), if ((i4188[5]* i4188[10])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[10], a34307data[10])))∧(i4190[5] + -1* i4190[10]))


(5) -> (13), if ((i4190[5] + -1* i4190[13])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[13], a34307data[13])))∧(i4188[5]* i4188[13]))


(5) -> (16), if ((i4190[5] + -1* i4190[16])∧(i4188[5]* i4188[16])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[16], a34307data[16]))))


(6) -> (3), if ((java.lang.Object(ARRAY(i2[6], a34307data[6])) →* java.lang.Object(ARRAY(i2[3], a34307data[3])))∧(i4190[6]* i4190[3])∧(i4570[6]* i4188[3]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a34307data[7])) →* java.lang.Object(ARRAY(i2[8], a34307data[8])))∧(i4188[7]* i4188[8])∧(i4190[7]* i4190[8]))


(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a34307data[8])) →* java.lang.Object(ARRAY(i2[9], a34307data[9])))∧(i4188[8]* i4188[9])∧(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0* TRUE)∧(i4190[8]* i4190[9]))


(9) -> (3), if ((i4188[9] + 1 + 1* i4188[3])∧(java.lang.Object(ARRAY(i2[9], a34307data[9])) →* java.lang.Object(ARRAY(i2[3], a34307data[3])))∧(i4190[9]* i4190[3]))


(10) -> (11), if ((java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])) →* java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))∧(i4188[10]* i4188[11])∧(java.lang.Object(ARRAY(i2[10], a34307data[10])) →* java.lang.Object(ARRAY(i2[11], a34307data[11])))∧(i4190[10]* i4190[11]))


(11) -> (12), if ((i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0* TRUE)∧(i4190[11]* i4190[12])∧(java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])) →* java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12])))∧(java.lang.Object(ARRAY(i2[11], a34307data[11])) →* java.lang.Object(ARRAY(i2[12], a34307data[12])))∧(i4188[11]* i4188[12]))


(12) -> (3), if ((i4190[12]* i4190[3])∧(i4188[12] + 1 + 1* i4188[3])∧(java.lang.Object(ARRAY(i2[12], a34307data[12])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))


(13) -> (14), if ((i4188[13]* i4188[14])∧(java.lang.Object(ARRAY(i2[13], a34307data[13])) →* java.lang.Object(ARRAY(i2[14], a34307data[14])))∧(java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])) →* java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))∧(i4190[13]* i4190[14]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])) →* java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15])))∧(i4188[14]* i4188[15])∧(java.lang.Object(ARRAY(i2[14], a34307data[14])) →* java.lang.Object(ARRAY(i2[15], a34307data[15])))∧(i4190[14]* i4190[15])∧(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0* TRUE))


(15) -> (3), if ((i4188[15] + 1 + 1* i4188[3])∧(i4190[15]* i4190[3])∧(java.lang.Object(ARRAY(i2[15], a34307data[15])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))


(16) -> (17), if ((java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])) →* java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))∧(java.lang.Object(ARRAY(i2[16], a34307data[16])) →* java.lang.Object(ARRAY(i2[17], a34307data[17])))∧(i4190[16]* i4190[17])∧(java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])) →* java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])))∧(i4188[16]* i4188[17]))


(17) -> (18), if ((i4190[17]* i4190[18])∧(java.lang.Object(ARRAY(i2[17], a34307data[17])) →* java.lang.Object(ARRAY(i2[18], a34307data[18])))∧(java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])) →* java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])))∧(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0* TRUE)∧(i4188[17]* i4188[18])∧(java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])) →* java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))))


(18) -> (3), if ((i4188[18] + 1 + 1* i4188[3])∧(i4190[18]* i4190[3])∧(java.lang.Object(ARRAY(i2[18], a34307data[18])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(21) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(22) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])
(1): LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
(2): COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2] + 1 + 1, i4190[2])
(3): INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3] + -1)
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)
(6): NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
(7): LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])
(8): LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])
(9): COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9] + 1 + 1, i4190[9])
(10): LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))
(11): LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
(12): COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12] + 1 + 1, i4190[12])
(13): LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
(14): LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))
(15): COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15] + 1 + 1, i4190[15])
(16): LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))
(17): LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))
(18): COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18] + 1 + 1, i4190[18])

(0) -> (1), if ((i4190[0]* i4190[1])∧(i4188[0]* i4188[1])∧(java.lang.Object(ARRAY(i2[0], a34307data[0])) →* java.lang.Object(ARRAY(i2[1], a34307data[1]))))


(1) -> (2), if ((i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[1], a34307data[1])) →* java.lang.Object(ARRAY(i2[2], a34307data[2])))∧(i4190[1]* i4190[2])∧(i4188[1]* i4188[2]))


(2) -> (6), if ((java.lang.Object(ARRAY(i2[2], a34307data[2])) →* java.lang.Object(ARRAY(i2[6], a34307data[6])))∧(i4188[2] + 1 + 1* i4570[6])∧(i4190[2]* i4190[6]))


(3) -> (0), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[0], a34307data[0])))∧(i4190[3] + -1* i4190[0])∧(i4188[3]* i4188[0]))


(3) -> (4), if ((i4190[3] + -1* i4190[4])∧(java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[4], a34307data[4])))∧(i4188[3]* i4188[4]))


(3) -> (7), if ((i4188[3]* i4188[7])∧(i4190[3] + -1* i4190[7])∧(java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[7], a34307data[7]))))


(3) -> (10), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[10], a34307data[10])))∧(i4190[3] + -1* i4190[10])∧(i4188[3]* i4188[10]))


(3) -> (13), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[13], a34307data[13])))∧(i4190[3] + -1* i4190[13])∧(i4188[3]* i4188[13]))


(3) -> (16), if ((java.lang.Object(ARRAY(i2[3], a34307data[3])) →* java.lang.Object(ARRAY(i2[16], a34307data[16])))∧(i4190[3] + -1* i4190[16])∧(i4188[3]* i4188[16]))


(4) -> (5), if ((i4188[4]* i4188[5])∧(i4190[4] > 0* TRUE)∧(i4190[4]* i4190[5])∧(java.lang.Object(ARRAY(i2[4], a34307data[4])) →* java.lang.Object(ARRAY(i2[5], a34307data[5]))))


(5) -> (0), if ((i4188[5]* i4188[0])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[0], a34307data[0])))∧(i4190[5] + -1* i4190[0]))


(5) -> (4), if ((i4188[5]* i4188[4])∧(i4190[5] + -1* i4190[4])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[4], a34307data[4]))))


(5) -> (7), if ((i4188[5]* i4188[7])∧(i4190[5] + -1* i4190[7])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[7], a34307data[7]))))


(5) -> (10), if ((i4188[5]* i4188[10])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[10], a34307data[10])))∧(i4190[5] + -1* i4190[10]))


(5) -> (13), if ((i4190[5] + -1* i4190[13])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[13], a34307data[13])))∧(i4188[5]* i4188[13]))


(5) -> (16), if ((i4190[5] + -1* i4190[16])∧(i4188[5]* i4188[16])∧(java.lang.Object(ARRAY(i2[5], a34307data[5])) →* java.lang.Object(ARRAY(i2[16], a34307data[16]))))


(6) -> (3), if ((java.lang.Object(ARRAY(i2[6], a34307data[6])) →* java.lang.Object(ARRAY(i2[3], a34307data[3])))∧(i4190[6]* i4190[3])∧(i4570[6]* i4188[3]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a34307data[7])) →* java.lang.Object(ARRAY(i2[8], a34307data[8])))∧(i4188[7]* i4188[8])∧(i4190[7]* i4190[8]))


(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a34307data[8])) →* java.lang.Object(ARRAY(i2[9], a34307data[9])))∧(i4188[8]* i4188[9])∧(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0* TRUE)∧(i4190[8]* i4190[9]))


(9) -> (3), if ((i4188[9] + 1 + 1* i4188[3])∧(java.lang.Object(ARRAY(i2[9], a34307data[9])) →* java.lang.Object(ARRAY(i2[3], a34307data[3])))∧(i4190[9]* i4190[3]))


(10) -> (11), if ((java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])) →* java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))∧(i4188[10]* i4188[11])∧(java.lang.Object(ARRAY(i2[10], a34307data[10])) →* java.lang.Object(ARRAY(i2[11], a34307data[11])))∧(i4190[10]* i4190[11]))


(11) -> (12), if ((i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0* TRUE)∧(i4190[11]* i4190[12])∧(java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])) →* java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12])))∧(java.lang.Object(ARRAY(i2[11], a34307data[11])) →* java.lang.Object(ARRAY(i2[12], a34307data[12])))∧(i4188[11]* i4188[12]))


(12) -> (3), if ((i4190[12]* i4190[3])∧(i4188[12] + 1 + 1* i4188[3])∧(java.lang.Object(ARRAY(i2[12], a34307data[12])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))


(13) -> (14), if ((i4188[13]* i4188[14])∧(java.lang.Object(ARRAY(i2[13], a34307data[13])) →* java.lang.Object(ARRAY(i2[14], a34307data[14])))∧(java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])) →* java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))∧(i4190[13]* i4190[14]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])) →* java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15])))∧(i4188[14]* i4188[15])∧(java.lang.Object(ARRAY(i2[14], a34307data[14])) →* java.lang.Object(ARRAY(i2[15], a34307data[15])))∧(i4190[14]* i4190[15])∧(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0* TRUE))


(15) -> (3), if ((i4188[15] + 1 + 1* i4188[3])∧(i4190[15]* i4190[3])∧(java.lang.Object(ARRAY(i2[15], a34307data[15])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))


(16) -> (17), if ((java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])) →* java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))∧(java.lang.Object(ARRAY(i2[16], a34307data[16])) →* java.lang.Object(ARRAY(i2[17], a34307data[17])))∧(i4190[16]* i4190[17])∧(java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])) →* java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])))∧(i4188[16]* i4188[17]))


(17) -> (18), if ((i4190[17]* i4190[18])∧(java.lang.Object(ARRAY(i2[17], a34307data[17])) →* java.lang.Object(ARRAY(i2[18], a34307data[18])))∧(java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])) →* java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])))∧(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0* TRUE)∧(i4188[17]* i4188[18])∧(java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])) →* java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))))


(18) -> (3), if ((i4188[18] + 1 + 1* i4188[3])∧(i4190[18]* i4190[3])∧(java.lang.Object(ARRAY(i2[18], a34307data[18])) →* java.lang.Object(ARRAY(i2[3], a34307data[3]))))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(23) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(24) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])
(1): LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
(2): COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2] + 1 + 1, i4190[2])
(3): INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3] + -1)
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)
(6): NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
(7): LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])
(8): LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])
(9): COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9] + 1 + 1, i4190[9])
(10): LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))
(11): LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
(12): COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12] + 1 + 1, i4190[12])
(13): LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
(14): LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))
(15): COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15] + 1 + 1, i4190[15])
(16): LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))
(17): LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))
(18): COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18] + 1 + 1, i4190[18])

(0) -> (1), if ((i4190[0]* i4190[1])∧(i4188[0]* i4188[1])∧((i2[0]* i2[1])∧(a34307data[0]* a34307data[1])))


(1) -> (2), if ((i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0* TRUE)∧((i2[1]* i2[2])∧(a34307data[1]* a34307data[2]))∧(i4190[1]* i4190[2])∧(i4188[1]* i4188[2]))


(2) -> (6), if (((i2[2]* i2[6])∧(a34307data[2]* a34307data[6]))∧(i4188[2] + 1 + 1* i4570[6])∧(i4190[2]* i4190[6]))


(3) -> (0), if (((i2[3]* i2[0])∧(a34307data[3]* a34307data[0]))∧(i4190[3] + -1* i4190[0])∧(i4188[3]* i4188[0]))


(3) -> (4), if ((i4190[3] + -1* i4190[4])∧((i2[3]* i2[4])∧(a34307data[3]* a34307data[4]))∧(i4188[3]* i4188[4]))


(3) -> (7), if ((i4188[3]* i4188[7])∧(i4190[3] + -1* i4190[7])∧((i2[3]* i2[7])∧(a34307data[3]* a34307data[7])))


(3) -> (10), if (((i2[3]* i2[10])∧(a34307data[3]* a34307data[10]))∧(i4190[3] + -1* i4190[10])∧(i4188[3]* i4188[10]))


(3) -> (13), if (((i2[3]* i2[13])∧(a34307data[3]* a34307data[13]))∧(i4190[3] + -1* i4190[13])∧(i4188[3]* i4188[13]))


(3) -> (16), if (((i2[3]* i2[16])∧(a34307data[3]* a34307data[16]))∧(i4190[3] + -1* i4190[16])∧(i4188[3]* i4188[16]))


(4) -> (5), if ((i4188[4]* i4188[5])∧(i4190[4] > 0* TRUE)∧(i4190[4]* i4190[5])∧((i2[4]* i2[5])∧(a34307data[4]* a34307data[5])))


(5) -> (0), if ((i4188[5]* i4188[0])∧((i2[5]* i2[0])∧(a34307data[5]* a34307data[0]))∧(i4190[5] + -1* i4190[0]))


(5) -> (4), if ((i4188[5]* i4188[4])∧(i4190[5] + -1* i4190[4])∧((i2[5]* i2[4])∧(a34307data[5]* a34307data[4])))


(5) -> (7), if ((i4188[5]* i4188[7])∧(i4190[5] + -1* i4190[7])∧((i2[5]* i2[7])∧(a34307data[5]* a34307data[7])))


(5) -> (10), if ((i4188[5]* i4188[10])∧((i2[5]* i2[10])∧(a34307data[5]* a34307data[10]))∧(i4190[5] + -1* i4190[10]))


(5) -> (13), if ((i4190[5] + -1* i4190[13])∧((i2[5]* i2[13])∧(a34307data[5]* a34307data[13]))∧(i4188[5]* i4188[13]))


(5) -> (16), if ((i4190[5] + -1* i4190[16])∧(i4188[5]* i4188[16])∧((i2[5]* i2[16])∧(a34307data[5]* a34307data[16])))


(6) -> (3), if (((i2[6]* i2[3])∧(a34307data[6]* a34307data[3]))∧(i4190[6]* i4190[3])∧(i4570[6]* i4188[3]))


(7) -> (8), if (((i2[7]* i2[8])∧(a34307data[7]* a34307data[8]))∧(i4188[7]* i4188[8])∧(i4190[7]* i4190[8]))


(8) -> (9), if (((i2[8]* i2[9])∧(a34307data[8]* a34307data[9]))∧(i4188[8]* i4188[9])∧(i4188[8] + 1 > 0 && i4188[8] + 1 < i2[8] && i4188[8] > 0 && i4188[8] < i2[8] && i4190[8] > 0 && i4188[8] + 1 + 1 > 0* TRUE)∧(i4190[8]* i4190[9]))


(9) -> (3), if ((i4188[9] + 1 + 1* i4188[3])∧((i2[9]* i2[3])∧(a34307data[9]* a34307data[3]))∧(i4190[9]* i4190[3]))


(10) -> (11), if (((i4836[10]* i4836[11])∧(i4725[10]* i4725[11])∧(i4727[10]* i4727[11])∧(a36476[10]* a36476[11]))∧(i4188[10]* i4188[11])∧((i2[10]* i2[11])∧(a34307data[10]* a34307data[11]))∧(i4190[10]* i4190[11]))


(11) -> (12), if ((i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0* TRUE)∧(i4190[11]* i4190[12])∧((i4836[11]* i4836[12])∧(i4725[11]* i4725[12])∧(i4727[11]* i4727[12])∧(a36476[11]* a36476[12]))∧((i2[11]* i2[12])∧(a34307data[11]* a34307data[12]))∧(i4188[11]* i4188[12]))


(12) -> (3), if ((i4190[12]* i4190[3])∧(i4188[12] + 1 + 1* i4188[3])∧((i2[12]* i2[3])∧(a34307data[12]* a34307data[3])))


(13) -> (14), if ((i4188[13]* i4188[14])∧((i2[13]* i2[14])∧(a34307data[13]* a34307data[14]))∧((i4327[13]* i4327[14])∧(i4281[13]* i4281[14])∧(i4283[13]* i4283[14])∧(a34758[13]* a34758[14]))∧(i4190[13]* i4190[14]))


(14) -> (15), if (((i4327[14]* i4327[15])∧(i4281[14]* i4281[15])∧(i4283[14]* i4283[15])∧(a34758[14]* a34758[15]))∧(i4188[14]* i4188[15])∧((i2[14]* i2[15])∧(a34307data[14]* a34307data[15]))∧(i4190[14]* i4190[15])∧(i4188[14] + 1 > 0 && i4188[14] + 1 < i2[14] && i4327[14] > 0 && i4188[14] > 0 && i4188[14] < i2[14] && i4190[14] > 0 && i4188[14] + 1 + 1 > 0* TRUE))


(15) -> (3), if ((i4188[15] + 1 + 1* i4188[3])∧(i4190[15]* i4190[3])∧((i2[15]* i2[3])∧(a34307data[15]* a34307data[3])))


(16) -> (17), if (((i4327[16]* i4327[17])∧(i4281[16]* i4281[17])∧(i4283[16]* i4283[17])∧(a34758[16]* a34758[17]))∧((i2[16]* i2[17])∧(a34307data[16]* a34307data[17]))∧(i4190[16]* i4190[17])∧((i5213[16]* i5213[17])∧(i5047[16]* i5047[17])∧(i5049[16]* i5049[17])∧(a37597[16]* a37597[17]))∧(i4188[16]* i4188[17]))


(17) -> (18), if ((i4190[17]* i4190[18])∧((i2[17]* i2[18])∧(a34307data[17]* a34307data[18]))∧((i5213[17]* i5213[18])∧(i5047[17]* i5047[18])∧(i5049[17]* i5049[18])∧(a37597[17]* a37597[18]))∧(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0* TRUE)∧(i4188[17]* i4188[18])∧((i4327[17]* i4327[18])∧(i4281[17]* i4281[18])∧(i4283[17]* i4283[18])∧(a34758[17]* a34758[18])))


(18) -> (3), if ((i4188[18] + 1 + 1* i4188[3])∧(i4190[18]* i4190[3])∧((i2[18]* i2[3])∧(a34307data[18]* a34307data[3])))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(25) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]), LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) which results in the following constraint:

    (1)    (i4190[0]=i4190[1]i4188[0]=i4188[1]i2[0]=i2[1]a34307data[0]=a34307data[1]LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])≥LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])∧(UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])≥LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])∧(UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥)∧[2 + (-1)bso_36] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥)∧[2 + (-1)bso_36] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥)∧[2 + (-1)bso_36] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_36] ≥ 0)







For Pair LOAD23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) the following chains were created:
  • We consider the chain LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]), COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2]) which results in the following constraint:

    (7)    (&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0))=TRUEi2[1]=i2[2]a34307data[1]=a34307data[2]i4190[1]=i4190[2]i4188[1]=i4188[2]LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])≥NonInfC∧LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])≥COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])∧(UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(+(i4188[1], 1), 1), 0)=TRUE>(i4190[1], 0)=TRUE<(i4188[1], i2[1])=TRUE>(i4188[1], 0)=TRUE>(+(i4188[1], 1), 0)=TRUE<(+(i4188[1], 1), i2[1])=TRUELOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])≥NonInfC∧LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])≥COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])∧(UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i4188[1] + [1] ≥ 0∧i4190[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4188[1] ≥ 0∧i4188[1] + [-1] ≥ 0∧i4188[1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧[(-1)Bound*bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i4188[1] + [1] ≥ 0∧i4190[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4188[1] ≥ 0∧i4188[1] + [-1] ≥ 0∧i4188[1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧[(-1)Bound*bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i4188[1] + [1] ≥ 0∧i4190[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4188[1] ≥ 0∧i4188[1] + [-1] ≥ 0∧i4188[1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧[(-1)Bound*bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i4188[1] + [1] ≥ 0∧i4190[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4188[1] ≥ 0∧i4188[1] + [-1] ≥ 0∧i4188[1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([2] + i4188[1] ≥ 0∧i4190[1] + [-1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0∧i4188[1] ≥ 0∧[1] + i4188[1] ≥ 0∧i2[1] + [-3] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37 + (-1)bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([2] + i4188[1] ≥ 0∧i4190[1] ≥ 0∧i2[1] + [-2] + [-1]i4188[1] ≥ 0∧i4188[1] ≥ 0∧[1] + i4188[1] ≥ 0∧i2[1] + [-3] + [-1]i4188[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] + [(-1)bni_37]i4188[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([2] + i4188[1] ≥ 0∧i4190[1] ≥ 0∧i2[1] ≥ 0∧i4188[1] ≥ 0∧[1] + i4188[1] ≥ 0∧[-1] + i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37 + (2)bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)



    We simplified constraint (15) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (16)    ([2] + i4188[1] ≥ 0∧i4190[1] ≥ 0∧[1] + i2[1] ≥ 0∧i4188[1] ≥ 0∧[1] + i4188[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37 + (3)bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)







For Pair COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → NEW25279(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190) the following chains were created:
  • We consider the chain COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2]) which results in the following constraint:

    (17)    (COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2])≥NonInfC∧COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2])≥NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])∧(UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥))



    We simplified constraint (17) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (18)    ((UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (18) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (19)    ((UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (19) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (20)    ((UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (20) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (21)    ((UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_40] ≥ 0)







For Pair INC23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, +(i4190, -1)) the following chains were created:
  • We consider the chain INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1)) which results in the following constraint:

    (22)    (INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3])≥NonInfC∧INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3])≥LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))∧(UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥)∧[1 + (-1)bso_42] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥)∧[1 + (-1)bso_42] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥)∧[1 + (-1)bso_42] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_42] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140(>(i4190, 0), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]), COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1)) which results in the following constraint:

    (27)    (i4188[4]=i4188[5]>(i4190[4], 0)=TRUEi4190[4]=i4190[5]i2[4]=i2[5]a34307data[4]=a34307data[5]LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])∧(UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥))



    We simplified constraint (27) using rule (IV) which results in the following new constraint:

    (28)    (>(i4190[4], 0)=TRUELOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])∧(UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥))



    We simplified constraint (28) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (29)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[(2)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] + [bni_43]i2[4] + [(-1)bni_43]i4188[4] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (29) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (30)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[(2)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] + [bni_43]i2[4] + [(-1)bni_43]i4188[4] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (30) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (31)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[(2)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] + [bni_43]i2[4] + [(-1)bni_43]i4188[4] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (31) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (32)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧0 = 0∧[bni_43] = 0∧[(-1)bni_43] = 0∧[(2)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (32) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (33)    (i4190[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧0 = 0∧[bni_43] = 0∧[(-1)bni_43] = 0∧[(3)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)







For Pair COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, +(i4190, -1)) the following chains were created:
  • We consider the chain COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1)) which results in the following constraint:

    (34)    (COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5])≥NonInfC∧COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5])≥LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))∧(UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥))



    We simplified constraint (34) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (35)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[1 + (-1)bso_46] ≥ 0)



    We simplified constraint (35) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (36)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[1 + (-1)bso_46] ≥ 0)



    We simplified constraint (36) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (37)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[1 + (-1)bso_46] ≥ 0)



    We simplified constraint (37) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (38)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)







For Pair NEW25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) the following chains were created:
  • We consider the chain NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]), INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1)) which results in the following constraint:

    (39)    (i2[6]=i2[3]a34307data[6]=a34307data[3]i4190[6]=i4190[3]i4570[6]=i4188[3]NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])≥NonInfC∧NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])≥INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥))



    We simplified constraint (39) using rule (IV) which results in the following new constraint:

    (40)    (NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])≥NonInfC∧NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])≥INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥))



    We simplified constraint (40) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (41)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (41) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (42)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (42) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (43)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (43) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (44)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]), LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) which results in the following constraint:

    (45)    (i2[7]=i2[8]a34307data[7]=a34307data[8]i4188[7]=i4188[8]i4190[7]=i4190[8]LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])≥LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])∧(UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥))



    We simplified constraint (45) using rule (IV) which results in the following new constraint:

    (46)    (LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])≥LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])∧(UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥))



    We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (47)    ((UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)







For Pair LOAD23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) the following chains were created:
  • We consider the chain LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]), COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9]) which results in the following constraint:

    (51)    (i2[8]=i2[9]a34307data[8]=a34307data[9]i4188[8]=i4188[9]&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0))=TRUEi4190[8]=i4190[9]LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])≥NonInfC∧LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])≥COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])∧(UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥))



    We simplified constraint (51) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (52)    (>(+(+(i4188[8], 1), 1), 0)=TRUE>(i4190[8], 0)=TRUE<(i4188[8], i2[8])=TRUE>(i4188[8], 0)=TRUE>(+(i4188[8], 1), 0)=TRUE<(+(i4188[8], 1), i2[8])=TRUELOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])≥NonInfC∧LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])≥COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])∧(UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥))



    We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (53)    (i4188[8] + [1] ≥ 0∧i4190[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4188[8] ≥ 0∧i4188[8] + [-1] ≥ 0∧i4188[8] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧[bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (54)    (i4188[8] + [1] ≥ 0∧i4190[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4188[8] ≥ 0∧i4188[8] + [-1] ≥ 0∧i4188[8] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧[bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (55)    (i4188[8] + [1] ≥ 0∧i4190[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4188[8] ≥ 0∧i4188[8] + [-1] ≥ 0∧i4188[8] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧[bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (56)    (i4188[8] + [1] ≥ 0∧i4190[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4188[8] ≥ 0∧i4188[8] + [-1] ≥ 0∧i4188[8] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (56) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (57)    ([2] + i4188[8] ≥ 0∧i4190[8] + [-1] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0∧i4188[8] ≥ 0∧[1] + i4188[8] ≥ 0∧i2[8] + [-3] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[(-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (57) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (58)    ([2] + i4188[8] ≥ 0∧i4190[8] ≥ 0∧i2[8] + [-2] + [-1]i4188[8] ≥ 0∧i4188[8] ≥ 0∧[1] + i4188[8] ≥ 0∧i2[8] + [-3] + [-1]i4188[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [(-1)bni_51]i4188[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (59)    ([2] + i4188[8] ≥ 0∧i4190[8] ≥ 0∧i2[8] ≥ 0∧i4188[8] ≥ 0∧[1] + i4188[8] ≥ 0∧[-1] + i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[(3)bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)



    We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (60)    ([2] + i4188[8] ≥ 0∧i4190[8] ≥ 0∧[1] + i2[8] ≥ 0∧i4188[8] ≥ 0∧[1] + i4188[8] ≥ 0∧i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[(4)bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)







For Pair COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190) the following chains were created:
  • We consider the chain COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9]) which results in the following constraint:

    (61)    (COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9])≥NonInfC∧COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9])≥INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥))



    We simplified constraint (61) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (62)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥)∧[(-1)bso_54] ≥ 0)



    We simplified constraint (62) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (63)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥)∧[(-1)bso_54] ≥ 0)



    We simplified constraint (63) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (64)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥)∧[(-1)bso_54] ≥ 0)



    We simplified constraint (64) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (65)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_54] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10]))) which results in the following constraint:

    (66)    (LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10])≥LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))∧(UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥))



    We simplified constraint (66) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (67)    ((UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (67) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (68) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (69) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_56] ≥ 0)







For Pair LOAD23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836, 0), >(+(i4188, 1), 0)), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) the following chains were created:
  • We consider the chain LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))), COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12]) which results in the following constraint:

    (71)    (&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0))=TRUEi4190[11]=i4190[12]i4836[11]=i4836[12]i4725[11]=i4725[12]i4727[11]=i4727[12]a36476[11]=a36476[12]i2[11]=i2[12]a34307data[11]=a34307data[12]i4188[11]=i4188[12]LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))≥NonInfC∧LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))≥COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))∧(UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥))



    We simplified constraint (71) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (72)    (>(+(+(i4188[11], 1), 1), 0)=TRUE>(i4190[11], 0)=TRUE<(i4188[11], i2[11])=TRUE>(i4188[11], 0)=TRUE<(+(i4188[11], 1), i2[11])=TRUE>(i4836[11], 0)=TRUE>(+(i4188[11], 1), 0)=TRUELOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))≥NonInfC∧LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))≥COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))∧(UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    (i4188[11] + [1] ≥ 0∧i4190[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4188[11] ≥ 0∧i4188[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧[(-1)Bound*bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    (i4188[11] + [1] ≥ 0∧i4190[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4188[11] ≥ 0∧i4188[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧[(-1)Bound*bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    (i4188[11] + [1] ≥ 0∧i4190[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4188[11] ≥ 0∧i4188[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧[(-1)Bound*bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    (i4188[11] + [1] ≥ 0∧i4190[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4188[11] ≥ 0∧i4188[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (76) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (77)    ([2] + i4188[11] ≥ 0∧i4190[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4188[11] ≥ 0∧i2[11] + [-3] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (-1)bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (77) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (78)    ([2] + i4188[11] ≥ 0∧i4190[11] ≥ 0∧i2[11] + [-2] + [-1]i4188[11] ≥ 0∧i4188[11] ≥ 0∧i2[11] + [-3] + [-1]i4188[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i4190[11] + [(-1)bni_57]i4188[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (78) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (79)    ([2] + i4188[11] ≥ 0∧i4190[11] ≥ 0∧i2[11] ≥ 0∧i4188[11] ≥ 0∧[-1] + i2[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (2)bni_57] + [bni_57]i4190[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (79) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (80)    ([2] + i4188[11] ≥ 0∧i4190[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4188[11] ≥ 0∧i2[11] ≥ 0∧i4836[11] + [-1] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (3)bni_57] + [bni_57]i4190[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)



    We simplified constraint (80) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (81)    ([2] + i4188[11] ≥ 0∧i4190[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4188[11] ≥ 0∧i2[11] ≥ 0∧i4836[11] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (3)bni_57] + [bni_57]i4190[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)







For Pair COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190) the following chains were created:
  • We consider the chain COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12]) which results in the following constraint:

    (82)    (COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12])))≥NonInfC∧COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12])))≥INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥))



    We simplified constraint (82) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (83)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥)∧[(-1)bso_60] ≥ 0)



    We simplified constraint (83) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (84)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥)∧[(-1)bso_60] ≥ 0)



    We simplified constraint (84) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (85)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥)∧[(-1)bso_60] ≥ 0)



    We simplified constraint (85) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (86)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_60] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13]))) which results in the following constraint:

    (87)    (LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13])≥LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))∧(UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (88)    ((UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥)∧[(-1)bso_62] ≥ 0)



    We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (89)    ((UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥)∧[(-1)bso_62] ≥ 0)



    We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (90)    ((UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥)∧[(-1)bso_62] ≥ 0)



    We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (91)    ((UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)







For Pair LOAD23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4327, 0)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) the following chains were created:
  • We consider the chain LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))), COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15]) which results in the following constraint:

    (92)    (i4327[14]=i4327[15]i4281[14]=i4281[15]i4283[14]=i4283[15]a34758[14]=a34758[15]i4188[14]=i4188[15]i2[14]=i2[15]a34307data[14]=a34307data[15]i4190[14]=i4190[15]&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0))=TRUELOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))≥NonInfC∧LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))≥COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))∧(UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥))



    We simplified constraint (92) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (93)    (>(+(+(i4188[14], 1), 1), 0)=TRUE>(i4190[14], 0)=TRUE<(i4188[14], i2[14])=TRUE>(i4188[14], 0)=TRUE>(i4327[14], 0)=TRUE>(+(i4188[14], 1), 0)=TRUE<(+(i4188[14], 1), i2[14])=TRUELOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))≥NonInfC∧LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))≥COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))∧(UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥))



    We simplified constraint (93) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (94)    (i4188[14] + [1] ≥ 0∧i4190[14] + [-1] ≥ 0∧i2[14] + [-1] + [-1]i4188[14] ≥ 0∧i4188[14] + [-1] ≥ 0∧i4327[14] + [-1] ≥ 0∧i4188[14] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧[(2)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (94) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (95)    (i4188[14] + [1] ≥ 0∧i4190[14] + [-1] ≥ 0∧i2[14] + [-1] + [-1]i4188[14] ≥ 0∧i4188[14] + [-1] ≥ 0∧i4327[14] + [-1] ≥ 0∧i4188[14] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧[(2)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (95) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (96)    (i4188[14] + [1] ≥ 0∧i4190[14] + [-1] ≥ 0∧i2[14] + [-1] + [-1]i4188[14] ≥ 0∧i4188[14] + [-1] ≥ 0∧i4327[14] + [-1] ≥ 0∧i4188[14] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧[(2)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (96) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (97)    (i4188[14] + [1] ≥ 0∧i4190[14] + [-1] ≥ 0∧i2[14] + [-1] + [-1]i4188[14] ≥ 0∧i4188[14] + [-1] ≥ 0∧i4327[14] + [-1] ≥ 0∧i4188[14] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (97) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (98)    ([2] + i4188[14] ≥ 0∧i4190[14] + [-1] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] + [-1] ≥ 0∧[1] + i4188[14] ≥ 0∧i2[14] + [-3] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (98) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (99)    ([2] + i4188[14] ≥ 0∧i4190[14] ≥ 0∧i2[14] + [-2] + [-1]i4188[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] + [-1] ≥ 0∧[1] + i4188[14] ≥ 0∧i2[14] + [-3] + [-1]i4188[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [(-1)bni_63]i4188[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (99) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (100)    ([2] + i4188[14] ≥ 0∧i4190[14] ≥ 0∧i2[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] + [-1] ≥ 0∧[1] + i4188[14] ≥ 0∧[-1] + i2[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (100) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (101)    ([2] + i4188[14] ≥ 0∧i4190[14] ≥ 0∧[1] + i2[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] + [-1] ≥ 0∧[1] + i4188[14] ≥ 0∧i2[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(5)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)



    We simplified constraint (101) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (102)    ([2] + i4188[14] ≥ 0∧i4190[14] ≥ 0∧[1] + i2[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] ≥ 0∧[1] + i4188[14] ≥ 0∧i2[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(5)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)







For Pair COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190) the following chains were created:
  • We consider the chain COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15]) which results in the following constraint:

    (103)    (COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15])))≥NonInfC∧COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15])))≥INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥))



    We simplified constraint (103) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (104)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥)∧[(-1)bso_66] ≥ 0)



    We simplified constraint (104) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (105)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥)∧[(-1)bso_66] ≥ 0)



    We simplified constraint (105) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (106)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥)∧[(-1)bso_66] ≥ 0)



    We simplified constraint (106) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (107)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16]))) which results in the following constraint:

    (108)    (LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16])≥LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))∧(UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥))



    We simplified constraint (108) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (109)    ((UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (109) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (110)    ((UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (110) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (111)    ((UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (111) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (112)    ((UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)







For Pair LOAD23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213, 0), >(+(i4188, 1), 0)), <(+(i4188, 1), i2)), >(i4327, 0)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) the following chains were created:
  • We consider the chain LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))), COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18]) which results in the following constraint:

    (113)    (i4190[17]=i4190[18]i2[17]=i2[18]a34307data[17]=a34307data[18]i5213[17]=i5213[18]i5047[17]=i5047[18]i5049[17]=i5049[18]a37597[17]=a37597[18]&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0))=TRUEi4188[17]=i4188[18]i4327[17]=i4327[18]i4281[17]=i4281[18]i4283[17]=i4283[18]a34758[17]=a34758[18]LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))≥NonInfC∧LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))≥COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))∧(UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥))



    We simplified constraint (113) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (114)    (>(+(+(i4188[17], 1), 1), 0)=TRUE>(i4190[17], 0)=TRUE<(i4188[17], i2[17])=TRUE>(i4188[17], 0)=TRUE>(i4327[17], 0)=TRUE<(+(i4188[17], 1), i2[17])=TRUE>(i5213[17], 0)=TRUE>(+(i4188[17], 1), 0)=TRUELOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))≥NonInfC∧LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))≥COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))∧(UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥))



    We simplified constraint (114) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (115)    (i4188[17] + [1] ≥ 0∧i4190[17] + [-1] ≥ 0∧i2[17] + [-1] + [-1]i4188[17] ≥ 0∧i4188[17] + [-1] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧[(-1)Bound*bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (115) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (116)    (i4188[17] + [1] ≥ 0∧i4190[17] + [-1] ≥ 0∧i2[17] + [-1] + [-1]i4188[17] ≥ 0∧i4188[17] + [-1] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧[(-1)Bound*bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (116) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (117)    (i4188[17] + [1] ≥ 0∧i4190[17] + [-1] ≥ 0∧i2[17] + [-1] + [-1]i4188[17] ≥ 0∧i4188[17] + [-1] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧[(-1)Bound*bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (117) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (118)    (i4188[17] + [1] ≥ 0∧i4190[17] + [-1] ≥ 0∧i2[17] + [-1] + [-1]i4188[17] ≥ 0∧i4188[17] + [-1] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (118) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (119)    ([2] + i4188[17] ≥ 0∧i4190[17] + [-1] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-3] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (-1)bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (119) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (120)    ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧i2[17] + [-2] + [-1]i4188[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] + [-3] + [-1]i4188[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69] + [bni_69]i4190[17] + [(-1)bni_69]i4188[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (120) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (121)    ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧i2[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] + [-1] ≥ 0∧[-1] + i2[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (2)bni_69] + [bni_69]i4190[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (121) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (122)    ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧[1] + i2[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] + [-1] ≥ 0∧i2[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (3)bni_69] + [bni_69]i4190[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (122) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (123)    ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧[1] + i2[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] ≥ 0∧i2[17] ≥ 0∧i5213[17] + [-1] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (3)bni_69] + [bni_69]i4190[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)



    We simplified constraint (123) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (124)    ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧[1] + i2[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] ≥ 0∧i2[17] ≥ 0∧i5213[17] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (3)bni_69] + [bni_69]i4190[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)







For Pair COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190) the following chains were created:
  • We consider the chain COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18]) which results in the following constraint:

    (125)    (COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18])))≥NonInfC∧COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18])))≥INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])∧(UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥))



    We simplified constraint (125) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (126)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (126) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (127)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (127) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (128)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (128) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (129)    ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
    • ((UIncreasing(LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_36] ≥ 0)

  • LOAD23140ARR1(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
    • ([2] + i4188[1] ≥ 0∧i4190[1] ≥ 0∧[1] + i2[1] ≥ 0∧i4188[1] ≥ 0∧[1] + i4188[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])), ≥)∧0 = 0∧[(-1)Bound*bni_37 + (3)bni_37] + [bni_37]i4190[1] + [bni_37]i2[1] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)

  • COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → NEW25279(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190)
    • ((UIncreasing(NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_40] ≥ 0)

  • INC23255(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, +(i4190, -1))
    • ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_42] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140(>(i4190, 0), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
    • (i4190[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧0 = 0∧[bni_43] = 0∧[(-1)bni_43] = 0∧[(3)bni_43 + (-1)Bound*bni_43] + [bni_43]i4190[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)

  • COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, +(i4190, -1))
    • ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)

  • NEW25279(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), i4570, i4190)
    • ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
    • ((UIncreasing(LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)

  • LOAD23140ARR2(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190)
    • ([2] + i4188[8] ≥ 0∧i4190[8] ≥ 0∧[1] + i2[8] ≥ 0∧i4188[8] ≥ 0∧[1] + i4188[8] ≥ 0∧i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])), ≥)∧0 = 0∧[(4)bni_51 + (-1)Bound*bni_51] + [bni_51]i4190[8] + [bni_51]i2[8] ≥ 0∧0 = 0∧[1 + (-1)bso_52] ≥ 0)

  • COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190)
    • ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_54] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
    • ((UIncreasing(LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_56] ≥ 0)

  • LOAD23140ARR3(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836, 0), >(+(i4188, 1), 0)), <(+(i4188, 1), i2)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476)))
    • ([2] + i4188[11] ≥ 0∧i4190[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4188[11] ≥ 0∧i2[11] ≥ 0∧i4836[11] ≥ 0∧[1] + i4188[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (3)bni_57] + [bni_57]i4190[11] + [bni_57]i2[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)

  • COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4836, i4725, i4727, a36476))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190)
    • ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_60] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
    • ((UIncreasing(LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)

  • LOAD23140ARR5(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188, 1), 0), <(+(i4188, 1), i2)), >(i4327, 0)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
    • ([2] + i4188[14] ≥ 0∧i4190[14] ≥ 0∧[1] + i2[14] ≥ 0∧i4188[14] ≥ 0∧i4327[14] ≥ 0∧[1] + i4188[14] ≥ 0∧i2[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(5)bni_63 + (-1)Bound*bni_63] + [bni_63]i4190[14] + [bni_63]i2[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_64] ≥ 0)

  • COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190)
    • ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190) → LOAD23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
    • ((UIncreasing(LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)

  • LOAD23140ARR7(java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213, 0), >(+(i4188, 1), 0)), <(+(i4188, 1), i2)), >(i4327, 0)), >(i4188, 0)), <(i4188, i2)), >(i4190, 0)), >(+(+(i4188, 1), 1), 0)), java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758)))
    • ([2] + i4188[17] ≥ 0∧i4190[17] ≥ 0∧[1] + i2[17] ≥ 0∧i4188[17] ≥ 0∧i4327[17] ≥ 0∧i2[17] ≥ 0∧i5213[17] ≥ 0∧[1] + i4188[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_69 + (3)bni_69] + [bni_69]i4190[17] + [bni_69]i2[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)

  • COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2, a34307data)), i4188, i4190, java.lang.Object(java.lang.String(i5213, i5047, i5049, a37597)), java.lang.Object(java.lang.String(i4327, i4281, i4283, a34758))) → INC23255(java.lang.Object(ARRAY(i2, a34307data)), +(+(i4188, 1), 1), i4190)
    • ((UIncreasing(INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD23140(x1, x2, x3)) = [1] + x3 + [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD23140ARR1(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD23140ARR1(x1, x2, x3, x4)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(NEW25279(x1, x2, x3)) = [1] + [-1]x2 + x3 + [-1]x1   
POL(INC23255(x1, x2, x3)) = [1] + [-1]x1 + x3 + [-1]x2   
POL(-1) = [-1]   
POL(COND_LOAD23140(x1, x2, x3, x4)) = [1] + x4 + [-1]x2 + [-1]x3   
POL(LOAD23140ARR2(x1, x2, x3)) = x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD23140ARR2(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD23140ARR3(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(java.lang.String(x1, x2, x3, x4)) = [1]   
POL(COND_LOAD23140ARR3(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD23140ARR5(x1, x2, x3, x4)) = [2] + [-1]x4 + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD23140ARR5(x1, x2, x3, x4, x5)) = [-1]x5 + x4 + [-1]x3 + [-1]x2   
POL(LOAD23140ARR7(x1, x2, x3, x4, x5)) = [-1]x5 + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD23140ARR7(x1, x2, x3, x4, x5, x6)) = [-1]x6 + x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])
INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], +(i4190[3], -1))
COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))
LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])
LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])
LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))
LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))
LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))

The following pairs are in Pbound:

LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
LOAD23140ARR2(java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8]) → COND_LOAD23140ARR2(&&(&&(&&(&&(&&(>(+(i4188[8], 1), 0), <(+(i4188[8], 1), i2[8])), >(i4188[8], 0)), <(i4188[8], i2[8])), >(i4190[8], 0)), >(+(+(i4188[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a34307data[8])), i4188[8], i4190[8])
LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
LOAD23140ARR5(java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14]))) → COND_LOAD23140ARR5(&&(&&(&&(&&(&&(&&(>(+(i4188[14], 1), 0), <(+(i4188[14], 1), i2[14])), >(i4327[14], 0)), >(i4188[14], 0)), <(i4188[14], i2[14])), >(i4190[14], 0)), >(+(+(i4188[14], 1), 1), 0)), java.lang.Object(ARRAY(i2[14], a34307data[14])), i4188[14], i4190[14], java.lang.Object(java.lang.String(i4327[14], i4281[14], i4283[14], a34758[14])))
LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))

The following pairs are in P:

LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(&&(&&(&&(&&(&&(>(+(i4188[1], 1), 0), <(+(i4188[1], 1), i2[1])), >(i4188[1], 0)), <(i4188[1], i2[1])), >(i4190[1], 0)), >(+(+(i4188[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), +(+(i4188[2], 1), 1), i4190[2])
LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), +(+(i4188[9], 1), 1), i4190[9])
LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(&&(&&(&&(&&(&&(&&(>(i4836[11], 0), >(+(i4188[11], 1), 0)), <(+(i4188[11], 1), i2[11])), >(i4188[11], 0)), <(i4188[11], i2[11])), >(i4190[11], 0)), >(+(+(i4188[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), +(+(i4188[12], 1), 1), i4190[12])
LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), +(+(i4188[15], 1), 1), i4190[15])
LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(&&(&&(&&(&&(&&(&&(&&(>(i5213[17], 0), >(+(i4188[17], 1), 0)), <(+(i4188[17], 1), i2[17])), >(i4327[17], 0)), >(i4188[17], 0)), <(i4188[17], i2[17])), >(i4190[17], 0)), >(+(+(i4188[17], 1), 1), 0)), java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))
COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), +(+(i4188[18], 1), 1), i4190[18])

There are no usable rules.

(26) Complex Obligation (AND)

(27) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(1): LOAD23140ARR1(java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1]) → COND_LOAD23140ARR1(i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a34307data[1])), i4188[1], i4190[1])
(2): COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2] + 1 + 1, i4190[2])
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
(6): NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
(9): COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9] + 1 + 1, i4190[9])
(11): LOAD23140ARR3(java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11]))) → COND_LOAD23140ARR3(i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a34307data[11])), i4188[11], i4190[11], java.lang.Object(java.lang.String(i4836[11], i4725[11], i4727[11], a36476[11])))
(12): COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12] + 1 + 1, i4190[12])
(13): LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
(15): COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15] + 1 + 1, i4190[15])
(17): LOAD23140ARR7(java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17]))) → COND_LOAD23140ARR7(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[17], a34307data[17])), i4188[17], i4190[17], java.lang.Object(java.lang.String(i5213[17], i5047[17], i5049[17], a37597[17])), java.lang.Object(java.lang.String(i4327[17], i4281[17], i4283[17], a34758[17])))
(18): COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18] + 1 + 1, i4190[18])

(1) -> (2), if ((i4188[1] + 1 > 0 && i4188[1] + 1 < i2[1] && i4188[1] > 0 && i4188[1] < i2[1] && i4190[1] > 0 && i4188[1] + 1 + 1 > 0* TRUE)∧((i2[1]* i2[2])∧(a34307data[1]* a34307data[2]))∧(i4190[1]* i4190[2])∧(i4188[1]* i4188[2]))


(2) -> (6), if (((i2[2]* i2[6])∧(a34307data[2]* a34307data[6]))∧(i4188[2] + 1 + 1* i4570[6])∧(i4190[2]* i4190[6]))


(11) -> (12), if ((i4836[11] > 0 && i4188[11] + 1 > 0 && i4188[11] + 1 < i2[11] && i4188[11] > 0 && i4188[11] < i2[11] && i4190[11] > 0 && i4188[11] + 1 + 1 > 0* TRUE)∧(i4190[11]* i4190[12])∧((i4836[11]* i4836[12])∧(i4725[11]* i4725[12])∧(i4727[11]* i4727[12])∧(a36476[11]* a36476[12]))∧((i2[11]* i2[12])∧(a34307data[11]* a34307data[12]))∧(i4188[11]* i4188[12]))


(17) -> (18), if ((i4190[17]* i4190[18])∧((i2[17]* i2[18])∧(a34307data[17]* a34307data[18]))∧((i5213[17]* i5213[18])∧(i5047[17]* i5047[18])∧(i5049[17]* i5049[18])∧(a37597[17]* a37597[18]))∧(i5213[17] > 0 && i4188[17] + 1 > 0 && i4188[17] + 1 < i2[17] && i4327[17] > 0 && i4188[17] > 0 && i4188[17] < i2[17] && i4190[17] > 0 && i4188[17] + 1 + 1 > 0* TRUE)∧(i4188[17]* i4188[18])∧((i4327[17]* i4327[18])∧(i4281[17]* i4281[18])∧(i4283[17]* i4283[18])∧(a34758[17]* a34758[18])))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(28) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 11 less nodes.

(29) TRUE

(30) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD23140(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0]) → LOAD23140ARR1(java.lang.Object(ARRAY(i2[0], a34307data[0])), i4188[0], i4190[0])
(2): COND_LOAD23140ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2], i4190[2]) → NEW25279(java.lang.Object(ARRAY(i2[2], a34307data[2])), i4188[2] + 1 + 1, i4190[2])
(3): INC23255(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3]) → LOAD23140(java.lang.Object(ARRAY(i2[3], a34307data[3])), i4188[3], i4190[3] + -1)
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)
(6): NEW25279(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6]) → INC23255(java.lang.Object(ARRAY(i2[6], a34307data[6])), i4570[6], i4190[6])
(7): LOAD23140(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7]) → LOAD23140ARR2(java.lang.Object(ARRAY(i2[7], a34307data[7])), i4188[7], i4190[7])
(9): COND_LOAD23140ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9], i4190[9]) → INC23255(java.lang.Object(ARRAY(i2[9], a34307data[9])), i4188[9] + 1 + 1, i4190[9])
(10): LOAD23140(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10]) → LOAD23140ARR3(java.lang.Object(ARRAY(i2[10], a34307data[10])), i4188[10], i4190[10], java.lang.Object(java.lang.String(i4836[10], i4725[10], i4727[10], a36476[10])))
(12): COND_LOAD23140ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12], i4190[12], java.lang.Object(java.lang.String(i4836[12], i4725[12], i4727[12], a36476[12]))) → INC23255(java.lang.Object(ARRAY(i2[12], a34307data[12])), i4188[12] + 1 + 1, i4190[12])
(13): LOAD23140(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13]) → LOAD23140ARR5(java.lang.Object(ARRAY(i2[13], a34307data[13])), i4188[13], i4190[13], java.lang.Object(java.lang.String(i4327[13], i4281[13], i4283[13], a34758[13])))
(15): COND_LOAD23140ARR5(TRUE, java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15], i4190[15], java.lang.Object(java.lang.String(i4327[15], i4281[15], i4283[15], a34758[15]))) → INC23255(java.lang.Object(ARRAY(i2[15], a34307data[15])), i4188[15] + 1 + 1, i4190[15])
(16): LOAD23140(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16]) → LOAD23140ARR7(java.lang.Object(ARRAY(i2[16], a34307data[16])), i4188[16], i4190[16], java.lang.Object(java.lang.String(i5213[16], i5047[16], i5049[16], a37597[16])), java.lang.Object(java.lang.String(i4327[16], i4281[16], i4283[16], a34758[16])))
(18): COND_LOAD23140ARR7(TRUE, java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18], i4190[18], java.lang.Object(java.lang.String(i5213[18], i5047[18], i5049[18], a37597[18])), java.lang.Object(java.lang.String(i4327[18], i4281[18], i4283[18], a34758[18]))) → INC23255(java.lang.Object(ARRAY(i2[18], a34307data[18])), i4188[18] + 1 + 1, i4190[18])

(3) -> (0), if (((i2[3]* i2[0])∧(a34307data[3]* a34307data[0]))∧(i4190[3] + -1* i4190[0])∧(i4188[3]* i4188[0]))


(5) -> (0), if ((i4188[5]* i4188[0])∧((i2[5]* i2[0])∧(a34307data[5]* a34307data[0]))∧(i4190[5] + -1* i4190[0]))


(6) -> (3), if (((i2[6]* i2[3])∧(a34307data[6]* a34307data[3]))∧(i4190[6]* i4190[3])∧(i4570[6]* i4188[3]))


(9) -> (3), if ((i4188[9] + 1 + 1* i4188[3])∧((i2[9]* i2[3])∧(a34307data[9]* a34307data[3]))∧(i4190[9]* i4190[3]))


(12) -> (3), if ((i4190[12]* i4190[3])∧(i4188[12] + 1 + 1* i4188[3])∧((i2[12]* i2[3])∧(a34307data[12]* a34307data[3])))


(15) -> (3), if ((i4188[15] + 1 + 1* i4188[3])∧(i4190[15]* i4190[3])∧((i2[15]* i2[3])∧(a34307data[15]* a34307data[3])))


(18) -> (3), if ((i4188[18] + 1 + 1* i4188[3])∧(i4190[18]* i4190[3])∧((i2[18]* i2[3])∧(a34307data[18]* a34307data[3])))


(3) -> (4), if ((i4190[3] + -1* i4190[4])∧((i2[3]* i2[4])∧(a34307data[3]* a34307data[4]))∧(i4188[3]* i4188[4]))


(5) -> (4), if ((i4188[5]* i4188[4])∧(i4190[5] + -1* i4190[4])∧((i2[5]* i2[4])∧(a34307data[5]* a34307data[4])))


(4) -> (5), if ((i4188[4]* i4188[5])∧(i4190[4] > 0* TRUE)∧(i4190[4]* i4190[5])∧((i2[4]* i2[5])∧(a34307data[4]* a34307data[5])))


(2) -> (6), if (((i2[2]* i2[6])∧(a34307data[2]* a34307data[6]))∧(i4188[2] + 1 + 1* i4570[6])∧(i4190[2]* i4190[6]))


(3) -> (7), if ((i4188[3]* i4188[7])∧(i4190[3] + -1* i4190[7])∧((i2[3]* i2[7])∧(a34307data[3]* a34307data[7])))


(5) -> (7), if ((i4188[5]* i4188[7])∧(i4190[5] + -1* i4190[7])∧((i2[5]* i2[7])∧(a34307data[5]* a34307data[7])))


(3) -> (10), if (((i2[3]* i2[10])∧(a34307data[3]* a34307data[10]))∧(i4190[3] + -1* i4190[10])∧(i4188[3]* i4188[10]))


(5) -> (10), if ((i4188[5]* i4188[10])∧((i2[5]* i2[10])∧(a34307data[5]* a34307data[10]))∧(i4190[5] + -1* i4190[10]))


(3) -> (13), if (((i2[3]* i2[13])∧(a34307data[3]* a34307data[13]))∧(i4190[3] + -1* i4190[13])∧(i4188[3]* i4188[13]))


(5) -> (13), if ((i4190[5] + -1* i4190[13])∧((i2[5]* i2[13])∧(a34307data[5]* a34307data[13]))∧(i4188[5]* i4188[13]))


(3) -> (16), if (((i2[3]* i2[16])∧(a34307data[3]* a34307data[16]))∧(i4190[3] + -1* i4190[16])∧(i4188[3]* i4188[16]))


(5) -> (16), if ((i4190[5] + -1* i4190[16])∧(i4188[5]* i4188[16])∧((i2[5]* i2[16])∧(a34307data[5]* a34307data[16])))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(31) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes.

(32) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)
(4): LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(i4190[4] > 0, java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])

(5) -> (4), if ((i4188[5]* i4188[4])∧(i4190[5] + -1* i4190[4])∧((i2[5]* i2[4])∧(a34307data[5]* a34307data[4])))


(4) -> (5), if ((i4188[4]* i4188[5])∧(i4190[4] > 0* TRUE)∧(i4190[4]* i4190[5])∧((i2[4]* i2[5])∧(a34307data[4]* a34307data[5])))



The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(33) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1)) the following chains were created:
  • We consider the chain COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1)) which results in the following constraint:

    (1)    (COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5])≥NonInfC∧COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5])≥LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))∧(UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥))



    We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (2)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)



    We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)



    We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)



    We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧0 = 0∧[(-1)bso_10] ≥ 0)







For Pair LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) the following chains were created:
  • We consider the chain LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]), COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1)) which results in the following constraint:

    (6)    (i4188[4]=i4188[5]>(i4190[4], 0)=TRUEi4190[4]=i4190[5]i2[4]=i2[5]a34307data[4]=a34307data[5]LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])∧(UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥))



    We simplified constraint (6) using rule (IV) which results in the following new constraint:

    (7)    (>(i4190[4], 0)=TRUELOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥NonInfC∧LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])≥COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])∧(UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥))



    We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (8)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i4190[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)



    We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (9)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i4190[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)



    We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (10)    (i4190[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i4190[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)



    We simplified constraint (10) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (11)    (i4190[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i4190[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))
    • ((UIncreasing(LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))), ≥)∧0 = 0∧[(-1)bso_10] ≥ 0)

  • LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])
    • (i4190[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i4190[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(COND_LOAD23140(x1, x2, x3, x4)) = [-1] + [2]x4   
POL(java.lang.Object(x1)) = [-1]   
POL(ARRAY(x1, x2)) = [-1]   
POL(LOAD23140(x1, x2, x3)) = [1] + [2]x3   
POL(+(x1, x2)) = x1 + x2   
POL(-1) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   

The following pairs are in P>:

LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])

The following pairs are in Pbound:

LOAD23140(java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4]) → COND_LOAD23140(>(i4190[4], 0), java.lang.Object(ARRAY(i2[4], a34307data[4])), i4188[4], i4190[4])

The following pairs are in P:

COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], +(i4190[5], -1))

There are no usable rules.

(34) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(5): COND_LOAD23140(TRUE, java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5]) → LOAD23140(java.lang.Object(ARRAY(i2[5], a34307data[5])), i4188[5], i4190[5] + -1)


The set Q consists of the following terms:
Load23140(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23255(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New25279(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load23140ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load23140ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load23140ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load23140ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load23140ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))

(35) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(36) TRUE